Recette n 27 Envoyer des SMS/MMS depuis votre application
Page 77



public Cursor getCalendars() {
   Uri uri = CalendarContract.Calendars.CONTENT_URI;

   String[] projection = new String[] {
      CalendarContract.Calendars._ID,
      CalendarContract.Calendars.ACCOUNT_NAME,
      CalendarContract.Calendars.CALENDAR_DISPLAY_NAME,
      CalendarContract.Calendars.NAME,
      CalendarContract.Calendars.CALENDAR_COLOR
   };

   CursorLoader cl = new CursorLoader(getActivity().getApplicationContext(), uri, projection, null, null, null);
   Cursor calendarCursor = cl.loadInBackground();
   return calendarCursor;
}







public String ajouterEvtAuCalendrier(Date debut, Date fin, String titre, String description, int idCalendrier) {
   // Construction des dtails de l'Event
   long startMillis = 0;
   long endMillis = 0;
   Calendar beginTime = Calendar.getInstance();
   beginTime.setTime(debut);
   startMillis = beginTime.getTimeInMillis();
   Calendar endTime = Calendar.getInstance();
   endTime.setTime(fin);
   endMillis = endTime.getTimeInMillis();

   // Insertion de l'Event
   ContentResolver cr = getActivity().getContentResolver();
   ContentValues values = new ContentValues();
   values.put(CalendarContract.Events.DTSTART, startMillis);
   values.put(CalendarContract.Events.DTEND, endMillis);
   values.put(CalendarContract.Events.TITLE, titre);
   values.put(CalendarContract.Events.DESCRIPTION, description);
   values.put(CalendarContract.Events.CALENDAR_ID, idCalendrier);
   Uri uri = cr.insert(CalendarContract.Events.CONTENT_URI, values);

   // Rcupre l'ID pour un nouvel event
   String eventID = uri.getLastPathSegment();
   return eventID;
}





Intent intent = new Intent(Intent.ACTION_INSERT)
   .setType("vnd.android.cursor.item/event")
   .putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, beginTime.getTimeInMillis())
   .putExtra(CalendarContract.EXTRA_EVENT_END_TIME, endTime.getTimeInMillis())
   .putExtra(CalendarContract.EXTRA_EVENT_ALL_DAY , false) // just included for completeness
   .putExtra(Events.TITLE, title)
   .putExtra(Events.DESCRIPTION, description)
//   .putExtra(Events.EVENT_LOCATION, "Earth") // optionnel, position
//   .putExtra(Events.RRULE, "FREQ=DAILY;COUNT=10") // optionnel, frequence
   .putExtra(Events.AVAILABILITY, Events.AVAILABILITY_BUSY)
//   .putExtra(Events.ACCESS_LEVEL, Events.ACCESS_PRIVATE) // optionnel, visibilit
//   .putExtra(Intent.EXTRA_EMAIL, "my.friend@example.com") // optionnel, invitations
;
startActivity(intent);
